package org.lpw.wormhole.queue;

import java.util.Map;

/**
 * 队列处理器。定义处理队列消息的规范。
 * 
 * @author lpw
 */
public interface QueueProcessor
{
    /**
     * 获取队列引用key。
     * 
     * @return 队列引用key。
     */
    public String getQueueKey();

    /**
     * 获取队列处理器处理的顺序。值越大则执行越靠后。
     * 
     * @return 队列处理器处理的顺序。
     */
    public int getProcessSort();

    /**
     * 处理队列消息。
     * 
     * @param context
     *            处理上下文环境，可在多个处理器中传递。
     * @param value
     *            要处理的对象。
     */
    public void process(Map<Object, Object> context, Object value);
}
